package cn.com.surker.sale.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 销售结算明细表
 * </p>
 *
 * @author admin
 * @since 2024-05-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SaleContractBillDetail implements Serializable {

	private static final long serialVersionUID = 1L;

	@TableId(value = "id", type = IdType.AUTO)
	private Long id;

	/**
	 * 结算ID
	 */
	private Long billId;

	/**
	 * 浇筑部位
	 */
	private String site;

	/**
	 * 强度等级
	 */
	private String level;

	/**
	 * 泵送方式
	 */
	private String castModel;

	/**
	 * 销售量
	 */
	private Double saleStere;

	/**
	 * 砼单价
	 */
	private Double sterePrice;

	/**
	 * 泵送单价
	 */
	private Double castPrice;
	/**
	 * 砼单价
	 */
	private Double taxSterePrice;

	/**
	 * 泵送单价
	 */
	private Double taxCastPrice;
	/**
	 * 合同税率
	 */
	private Double rate;

	/**
	 * 状态(0:启用1：禁用)
	 */
	private Integer status;

	/**
	 * 价格类型 0 砼价格，1 补贴
	 */
	private Integer priceType;

	/**
	 * 结算时间类型 0公司产值 1工地产值
	 */
	private Integer billTimeType;

	/**
	 * 审核备注，当审核结果为不通过时，必填
	 */
	private String remark;

	/**
	 * 创建人
	 */
	private String creater;

	/**
	 * 创建日期
	 */
	@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",timezone="GMT+8")
	private Date createTime;

	/**
	 * 更新人
	 */
	private String updater;

	/**
	 * 结算日期
	 */
	private String today;

	/**
	 * 更新日期
	 */
	@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",timezone="GMT+8")
	private Date updateTime;

	public SaleContractBillDetail(){}

	public SaleContractBillDetail(Long billId, String site, String level, String castModel, Double saleStere, Double sterePrice, Double castPrice, Integer status, Integer priceType, Integer billTimeType, String remark, String creater, Date createTime, String today) {
		this.billId = billId;
		this.site = site;
		this.level = level;
		this.castModel = castModel;
		this.saleStere = saleStere;
		this.sterePrice = sterePrice;
		this.castPrice = castPrice;
		this.status = status;
		this.priceType = priceType;
		this.billTimeType = billTimeType;
		this.remark = remark;
		this.creater = creater;
		this.createTime = createTime;
		this.today = today;
	}
}
